home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / examples / table / bigtable / main.cpp.z / main.cpp
C/C++ Source or Header  |  2002-04-08  |  2KB  |  54 lines

  1. /****************************************************************************
  2. ** $Id:  qt/main.cpp   3.0.3   edited Oct 12 12:18 $
  3. **
  4. ** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
  5. **
  6. ** This file is part of an example program for Qt.  This example
  7. ** program may be used, distributed and modified without limitation.
  8. **
  9. *****************************************************************************/
  10.  
  11. #include <qapplication.h>
  12. #include <qtable.h>
  13.  
  14. // Table size
  15.  
  16. const int numRows = 1000000;
  17. const int numCols = 1000000;
  18.  
  19. class MyTable : public QTable
  20. {
  21. public:
  22.     MyTable( int r, int c ) : QTable( r, c ) {
  23.     items.setAutoDelete( TRUE );
  24.     widgets.setAutoDelete( TRUE );
  25.     setCaption( tr( "This is a big table with 1.000.000x1.000.000 cells..." ) );
  26.     setLeftMargin( fontMetrics().width( "W999999W" ) );
  27.     }
  28.  
  29.     void resizeData( int ) {}
  30.     QTableItem *item( int r, int c ) const { return items.find( indexOf( r, c ) ); }
  31.     void setItem( int r, int c, QTableItem *i ) { items.replace( indexOf( r, c ), i ); }
  32.     void clearCell( int r, int c ) { items.remove( indexOf( r, c ) ); }
  33.     void insertWidget( int r, int c, QWidget *w ) { widgets.replace( indexOf( r, c ), w );  }
  34.     QWidget *cellWidget( int r, int c ) const { return widgets.find( indexOf( r, c ) ); }
  35.     void clearCellWidget( int r, int c ) { widgets.remove( indexOf( r, c ) ); }
  36.  
  37. private:
  38.     QIntDict<QTableItem> items;
  39.     QIntDict<QWidget> widgets;
  40.  
  41. };
  42.  
  43. // The program starts here.
  44.  
  45. int main( int argc, char **argv )
  46. {
  47.     QApplication app( argc, argv );            
  48.  
  49.     MyTable table( numRows, numCols );
  50.     app.setMainWidget( &table );
  51.     table.show();
  52.     return app.exec();
  53. }
  54.